﻿// 10021  Addition Chains.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//

#include <iostream>


using namespace std;


/*
https://loj.ac/p/10021

题目描述
原题来自：ZOJ 1937

已知一个数列 a_0,a_1...a_m（其中 a_0 = 1 , a_m = n , a_0 < a_1 < a_2 < ... < a_{m-1} < a_m）。
对于每个 k，需要满足 a_k=a_i+a_j（0  <=  i , j  <= k-1，这里 i 与 j 可以相等）。

现给定 n 的值，要求 m 的最小值（并不要求输出），及这个数列每一项的值（可能存在多个数列，只输出任一个满足条件的就可以了）。

输入格式
多组数据，每行给定一个正整数 n 。

输入以 0 结束。

输出格式
对于每组数据，输出满足条件的长度最小的数列。

样例
5
7
12
15
77
0

1 2 4 5
1 2 4 6 7
1 2 4 8 12
1 2 4 5 10 15
1 2 4 8 9 17 34 68 77

1 <=n <=100 1<= k <=m
*/
int main()
{
    std::cout << "Hello World!\n";
} 